# -*- coding: utf-8 -*-
#用于启动程序
#启动脚本
#！/usr/bin/env python
import os
from app import create_app,db
from app.models import User,Role
from flask_script import Manager,Shell,Server
from flask_migrate import Migrate,MigrateCommand
from flask_sqlalchemy import SQLAlchemy

app=create_app(os.getenv('FLASK_CONFIG') or 'default')
manager=Manager(app)
migrate=Migrate(app,db)
db = SQLAlchemy(app)

def make_shell_context():
	return dict(app=app,db=db,User=User,Role=Role)

manager.add_command('shell',Shell(make_context=make_shell_context))
manager.add_command('db',MigrateCommand)
manager.add_command('runserver',Server(host="0.0.0.0"))

if __name__=='__main__':
	manager.run()

#自定义启动单元测试命令
# @manager.command 
# def test():
# 	"""Run the unit tests"""
# 	import unittest
# 	tests=unittest.TestLoader().discover('tests')
# 	unittest.TextTestRunner(verbosity=2).run(tests)
